Merged
Conversation
…o used code formmatting tool
All other functions in zTalkBox.cpp have a 100% match
Made sure all functions use DWARF local variables when possible
Reordered functions in zTalkBox to try to match objdiff, not all are in the correct order but most are
Completed .bss (8f38) with 100% match
Completed .ctors (4) with 100% match
Completed .data (118) with 100% match
Completed .rodata (1c8) with 100% match
Completed .sbss (20) with 100% match
Completed .sbss2 (8) with 100% match
Completed .sdata (10) with 100% match
Completed .sdata2 (20) with 100% match but [.sdata2-0] is still at 85%
.text (3434) is at a 98% match
.text (224) is at a 96% match
.text (1bc) has 4 100% macthes and one 73% match
Remaining functions in zTalkBox.cpp have 100% match Made sure all functions use DWARF local variables when possible Reordered functions in zTalkBox to try to match objdiff, not all are in the correct order but most are Completed .bss (8f38) with 100% match Completed .ctors (4) with 100% match Completed .data (118) with 100% match Completed .rodata (1c8) with 100% match Completed .sbss (20) with 100% match Completed .sbss2 (8) with 100% match Completed .sdata (10) with 100% match Completed .sdata2 (20) with 100% match but [.sdata2-0] is still at 85% .text (3434) is at a 98% match .text (224) is at a 96% match .text (1bc) has 4 100% macthes and one 73% match
Modified it to get some matches but caused a small regression
I will work through the regression after the PR is discuseed
Removed redundant structs from zTalkBox.h causing errors in other files
This comment was marked as outdated.
This comment was marked as outdated.
JoshSanch
requested changes
Mar 1, 2026
Collaborator
JoshSanch
left a comment
There was a problem hiding this comment.
Lots of progress with this one - left some initial comments while I spend some time reviewing zTalkBox.cpp.
Thanks for the submission!
Now has a 100% match with fixed_queue<aqua_beam::ring_segment, 31>::iterator::operator+=(int) and with fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::iterator::operator+=(int) Reverted zTalkBox.cpp DWARF to it's original state
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
JoshSanch
requested changes
Mar 1, 2026
JoshSanch
requested changes
Mar 1, 2026
As a bonus, also got a 100% match here Updated MasterLovesSlaves to use correct Base tags Updated .xSnd.h and moved sound_queue methods into the template class Other minor cleanups
This comment was marked as outdated.
This comment was marked as outdated.
|
| Section | From | To | Bytes | |
|---|---|---|---|---|
| ✅ | .bss |
99.59% | 100.00% | +152 |
| ✅ | .data |
6.58% | 100.00% | +261 |
| ✅ | .rodata |
15.48% | 100.00% | +385 |
| ✅ | .sbss |
0.00% | 100.00% | +32 |
| ✅ | .sbss2 |
0.00% | 100.00% | +8 |
| ✅ | .sdata |
0.00% | 100.00% | +16 |
| ✅ | .sdata2 |
42.86% | 100.00% | +18 |
| 📈 | .text |
22.19% | 96.27% | +10665 |
| Function | From | To | Bytes | |
|---|---|---|---|---|
| ✅ | @unnamed@zTalkBox_cpp@::trigger(unsigned int) |
78.67% | 100.00% | +28 |
| ✅ | @unnamed@zTalkBox_cpp@::flush_triggered() |
3.33% | 100.00% | +116 |
| ✅ | @unnamed@zTalkBox_cpp@::load_wait_context(@unnamed@zTalkBox_cpp@::wait_context&, const xtextbox::tag_entry_list&) |
0.00% | 100.00% | +680 |
| ✅ | @unnamed@zTalkBox_cpp@::parse_tag_auto_wait(xtextbox::jot&, const xtextbox&, const xtextbox&, const xtextbox::split_tag&) |
0.00% | 100.00% | +224 |
| ✅ | @unnamed@zTalkBox_cpp@::wait_context::operator=(const @unnamed@zTalkBox_cpp@::wait_context&) |
0.00% | 100.00% | +44 |
| ✅ | @unnamed@zTalkBox_cpp@::parse_tag_signal(xtextbox::jot&, const xtextbox&, const xtextbox&, const xtextbox::split_tag&) |
0.00% | 100.00% | +328 |
| 📈 | @unnamed@zTalkBox_cpp@::trigger_signal(const xtextbox::jot&) |
0.00% | 99.38% | +190 |
| ✅ | @unnamed@zTalkBox_cpp@::load_sound_type(@unnamed@zTalkBox_cpp@::sound_context&, const xtextbox::tag_entry_list&) |
0.00% | 100.00% | +176 |
| 📈 | @unnamed@zTalkBox_cpp@::parse_tag_sound(xtextbox::jot&, const xtextbox&, const xtextbox&, const xtextbox::split_tag&) |
0.00% | 99.47% | +819 |
| 📈 | @unnamed@zTalkBox_cpp@::trigger_sound(const xtextbox::jot&) |
0.00% | 94.91% | +611 |
| ✅ | @unnamed@zTalkBox_cpp@::parse_tag_allow_quit(xtextbox::jot&, const xtextbox&, const xtextbox&, const xtextbox::split_tag&) |
0.00% | 100.00% | +108 |
| ✅ | @unnamed@zTalkBox_cpp@::parse_tag_teleport(xtextbox::jot&, const xtextbox&, const xtextbox&, const xtextbox::split_tag&) |
0.00% | 100.00% | +304 |
| ✅ | @unnamed@zTalkBox_cpp@::move_player(const xVec3&) |
0.00% | 100.00% | +84 |
| ✅ | @unnamed@zTalkBox_cpp@::turn_player(float) |
0.00% | 100.00% | +92 |
| ✅ | @unnamed@zTalkBox_cpp@::trigger_teleport(const xtextbox::jot&) |
0.00% | 100.00% | +104 |
| ✅ | @unnamed@zTalkBox_cpp@::parse_tag_trap(xtextbox::jot&, const xtextbox&, const xtextbox&, const xtextbox::split_tag&) |
99.63% | 100.00% | +/-0 |
| ✅ | @unnamed@zTalkBox_cpp@::trigger_trap(const xtextbox::jot&) |
0.00% | 100.00% | +64 |
| ✅ | @unnamed@zTalkBox_cpp@::parse_tag_wait(xtextbox::jot&, const xtextbox&, const xtextbox&, const xtextbox::split_tag&) |
0.00% | 100.00% | +160 |
| ✅ | @unnamed@zTalkBox_cpp@::trigger_wait(const xtextbox::jot&) |
0.00% | 100.00% | +112 |
| 📈 | @unnamed@zTalkBox_cpp@::start_audio_effect(ztalkbox&) |
0.00% | 91.70% | +205 |
| 📈 | @unnamed@zTalkBox_cpp@::stop_audio_effect() |
32.14% | 87.38% | +46 |
| ✅ | @unnamed@zTalkBox_cpp@::activate(ztalkbox&) |
0.00% | 100.00% | +132 |
| ✅ | @unnamed@zTalkBox_cpp@::is_wait_jot(const xtextbox::jot&) |
0.00% | 100.00% | +44 |
| ✅ | @unnamed@zTalkBox_cpp@::layout_contains_streams() |
0.00% | 100.00% | +196 |
| ✅ | @unnamed@zTalkBox_cpp@::lock_stream() |
0.00% | 100.00% | +108 |
| ✅ | @unnamed@zTalkBox_cpp@::unlock_stream() |
0.00% | 100.00% | +104 |
| 📈 | @unnamed@zTalkBox_cpp@::refresh_prompts() |
0.00% | 96.48% | +339 |
| ✅ | @unnamed@zTalkBox_cpp@::update_prompt_status(float) |
0.00% | 100.00% | +156 |
| ✅ | @unnamed@zTalkBox_cpp@::update_quit_status(float) |
0.00% | 100.00% | +92 |
| ✅ | @unnamed@zTalkBox_cpp@::hide_prompts() |
0.00% | 100.00% | +80 |
| ✅ | @unnamed@zTalkBox_cpp@::stop_wait(ztalkbox&, const float*, unsigned long) |
0.00% | 100.00% | +156 |
| ✅ | @unnamed@zTalkBox_cpp@::cb_dispatch(xBase*, xBase*, unsigned int, const float*, xBase*) |
90.36% | 100.00% | +40 |
| ✅ | ztalkbox::set_text(const char*) |
0.00% | 100.00% | +224 |
| ✅ | ztalkbox::set_text(unsigned int) |
0.00% | 100.00% | +92 |
| ✅ | ztalkbox::add_text(const char*) |
0.00% | 100.00% | +84 |
| ✅ | ztalkbox::add_text(unsigned int) |
0.00% | 100.00% | +80 |
| ✅ | ztalkbox::start_talk(const char*, ztalkbox::callback*, zNPCCommon*) |
0.00% | 100.00% | +388 |
| ✅ | ztalkbox::start_talk(unsigned int, ztalkbox::callback*, zNPCCommon*) |
0.00% | 100.00% | +124 |
| ✅ | @unnamed@zTalkBox_cpp@::stop() |
0.00% | 100.00% | +192 |
| ✅ | ztalkbox::show() |
47.33% | 100.00% | +75 |
| ✅ | ztalkbox::MasterTellSlaves(int) |
0.00% | 100.00% | +156 |
| ✅ | ztalkbox::MasterLoveSlave(xBase*, int) |
0.00% | 100.00% | +196 |
| ✅ | ztalkbox::load_settings(xIniFile&) |
95.96% | 100.00% | +4 |
| 📈 | ztalkbox::init() |
0.00% | 77.58% | +186 |
| ✅ | @unnamed@zTalkBox_cpp@::stop_state_type::stop_state_type() |
0.00% | 100.00% | +64 |
| ✅ | @unnamed@zTalkBox_cpp@::wait_state_type::wait_state_type() |
0.00% | 100.00% | +64 |
| ✅ | @unnamed@zTalkBox_cpp@::next_state_type::next_state_type() |
0.00% | 100.00% | +64 |
| ✅ | @unnamed@zTalkBox_cpp@::start_state_type::start_state_type() |
0.00% | 100.00% | +64 |
| 📈 | ztalkbox::update_all(xScene&, float) |
0.00% | 95.57% | +355 |
| ✅ | @unnamed@zTalkBox_cpp@::pad_pressed() |
0.00% | 100.00% | +56 |
| ✅ | ztalkbox::render_all() |
0.00% | 100.00% | +160 |
| ✅ | ztalkbox::reset_all() |
0.00% | 100.00% | +128 |
| 📈 | @unnamed@zTalkBox_cpp@::start_state_type::start() |
0.00% | 97.14% | +136 |
| 📈 | @unnamed@zTalkBox_cpp@::next_state_type::start() |
0.00% | 90.83% | +348 |
| ✅ | @unnamed@zTalkBox_cpp@::trigger_jot(int) |
0.00% | 100.00% | +68 |
| ✅ | @unnamed@zTalkBox_cpp@::trigger_jot(const xtextbox::jot&) |
0.00% | 100.00% | +76 |
| ✅ | @unnamed@zTalkBox_cpp@::next_state_type::update(xScene&, float) |
0.00% | 100.00% | +40 |
| ✅ | @unnamed@zTalkBox_cpp@::wait_state_type::start() |
0.00% | 100.00% | +40 |
| 📈 | @unnamed@zTalkBox_cpp@::wait_state_type::stop() |
0.00% | 93.40% | +269 |
| ✅ | @unnamed@zTalkBox_cpp@::wait_state_type::update(xScene&, float) |
0.00% | 100.00% | +556 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::iterator::operator+=(int) |
47.18% | 100.00% | +23 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::push_back() |
0.00% | 100.00% | +40 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::empty() const |
0.00% | 100.00% | +24 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::pop_front() |
0.00% | 100.00% | +40 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::front() |
0.00% | 100.00% | +48 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::begin() const |
0.00% | 100.00% | +36 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::reset() |
0.00% | 100.00% | +32 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::clear() |
0.00% | 100.00% | +16 |
| ✅ | sound_queue<4>::pop() |
0.00% | 100.00% | +100 |
| ✅ | sound_queue<4>::clear() |
0.00% | 100.00% | +68 |
main/SB/Game/zNPCTypePrawn
| Section | From | To | Bytes | |
|---|---|---|---|---|
| ❔ | .text |
40.80% | 40.80% | +/-0 |
| Function | From | To | Bytes | |
|---|---|---|---|---|
| ✅ | fixed_queue<aqua_beam::ring_segment, 31>::iterator::operator+=(int) |
98.17% | 100.00% | +/-0 |
I moved it to the front, but it caused ObjDiff to not recongize the functions.
|
| Section | From | To | Bytes | |
|---|---|---|---|---|
| ✅ | .bss |
99.59% | 100.00% | +152 |
| ✅ | .data |
6.58% | 100.00% | +261 |
| ✅ | .rodata |
15.48% | 100.00% | +385 |
| ✅ | .sbss |
0.00% | 100.00% | +32 |
| ✅ | .sbss2 |
0.00% | 100.00% | +8 |
| ✅ | .sdata |
0.00% | 100.00% | +16 |
| ✅ | .sdata2 |
42.86% | 100.00% | +18 |
| 📈 | .text |
22.19% | 98.13% | +10932 |
| Function | From | To | Bytes | |
|---|---|---|---|---|
| ✅ | @unnamed@zTalkBox_cpp@::trigger(unsigned int) |
78.67% | 100.00% | +28 |
| ✅ | @unnamed@zTalkBox_cpp@::flush_triggered() |
3.33% | 100.00% | +116 |
| ✅ | @unnamed@zTalkBox_cpp@::load_wait_context(@unnamed@zTalkBox_cpp@::wait_context&, const xtextbox::tag_entry_list&) |
0.00% | 100.00% | +680 |
| ✅ | @unnamed@zTalkBox_cpp@::parse_tag_auto_wait(xtextbox::jot&, const xtextbox&, const xtextbox&, const xtextbox::split_tag&) |
0.00% | 100.00% | +224 |
| ✅ | @unnamed@zTalkBox_cpp@::wait_context::operator=(const @unnamed@zTalkBox_cpp@::wait_context&) |
0.00% | 100.00% | +44 |
| ✅ | @unnamed@zTalkBox_cpp@::parse_tag_signal(xtextbox::jot&, const xtextbox&, const xtextbox&, const xtextbox::split_tag&) |
0.00% | 100.00% | +328 |
| 📈 | @unnamed@zTalkBox_cpp@::trigger_signal(const xtextbox::jot&) |
0.00% | 99.38% | +190 |
| ✅ | @unnamed@zTalkBox_cpp@::load_sound_type(@unnamed@zTalkBox_cpp@::sound_context&, const xtextbox::tag_entry_list&) |
0.00% | 100.00% | +176 |
| 📈 | @unnamed@zTalkBox_cpp@::parse_tag_sound(xtextbox::jot&, const xtextbox&, const xtextbox&, const xtextbox::split_tag&) |
0.00% | 99.47% | +819 |
| 📈 | @unnamed@zTalkBox_cpp@::trigger_sound(const xtextbox::jot&) |
0.00% | 94.91% | +611 |
| ✅ | @unnamed@zTalkBox_cpp@::parse_tag_allow_quit(xtextbox::jot&, const xtextbox&, const xtextbox&, const xtextbox::split_tag&) |
0.00% | 100.00% | +108 |
| ✅ | @unnamed@zTalkBox_cpp@::parse_tag_teleport(xtextbox::jot&, const xtextbox&, const xtextbox&, const xtextbox::split_tag&) |
0.00% | 100.00% | +304 |
| ✅ | @unnamed@zTalkBox_cpp@::move_player(const xVec3&) |
0.00% | 100.00% | +84 |
| ✅ | @unnamed@zTalkBox_cpp@::turn_player(float) |
0.00% | 100.00% | +92 |
| ✅ | @unnamed@zTalkBox_cpp@::trigger_teleport(const xtextbox::jot&) |
0.00% | 100.00% | +104 |
| ✅ | @unnamed@zTalkBox_cpp@::parse_tag_trap(xtextbox::jot&, const xtextbox&, const xtextbox&, const xtextbox::split_tag&) |
99.63% | 100.00% | +/-0 |
| ✅ | @unnamed@zTalkBox_cpp@::trigger_trap(const xtextbox::jot&) |
0.00% | 100.00% | +64 |
| ✅ | @unnamed@zTalkBox_cpp@::parse_tag_wait(xtextbox::jot&, const xtextbox&, const xtextbox&, const xtextbox::split_tag&) |
0.00% | 100.00% | +160 |
| ✅ | @unnamed@zTalkBox_cpp@::trigger_wait(const xtextbox::jot&) |
0.00% | 100.00% | +112 |
| 📈 | @unnamed@zTalkBox_cpp@::start_audio_effect(ztalkbox&) |
0.00% | 91.70% | +205 |
| 📈 | @unnamed@zTalkBox_cpp@::stop_audio_effect() |
32.14% | 87.38% | +46 |
| ✅ | @unnamed@zTalkBox_cpp@::activate(ztalkbox&) |
0.00% | 100.00% | +132 |
| ✅ | @unnamed@zTalkBox_cpp@::is_wait_jot(const xtextbox::jot&) |
0.00% | 100.00% | +44 |
| ✅ | @unnamed@zTalkBox_cpp@::layout_contains_streams() |
0.00% | 100.00% | +196 |
| ✅ | @unnamed@zTalkBox_cpp@::lock_stream() |
0.00% | 100.00% | +108 |
| ✅ | @unnamed@zTalkBox_cpp@::unlock_stream() |
0.00% | 100.00% | +104 |
| 📈 | @unnamed@zTalkBox_cpp@::refresh_prompts() |
0.00% | 96.48% | +339 |
| ✅ | @unnamed@zTalkBox_cpp@::update_prompt_status(float) |
0.00% | 100.00% | +156 |
| ✅ | @unnamed@zTalkBox_cpp@::update_quit_status(float) |
0.00% | 100.00% | +92 |
| ✅ | @unnamed@zTalkBox_cpp@::hide_prompts() |
0.00% | 100.00% | +80 |
| ✅ | @unnamed@zTalkBox_cpp@::stop_wait(ztalkbox&, const float*, unsigned long) |
0.00% | 100.00% | +156 |
| ✅ | @unnamed@zTalkBox_cpp@::cb_dispatch(xBase*, xBase*, unsigned int, const float*, xBase*) |
90.36% | 100.00% | +40 |
| ✅ | ztalkbox::set_text(const char*) |
0.00% | 100.00% | +224 |
| ✅ | ztalkbox::set_text(unsigned int) |
0.00% | 100.00% | +92 |
| ✅ | ztalkbox::add_text(const char*) |
0.00% | 100.00% | +84 |
| ✅ | ztalkbox::add_text(unsigned int) |
0.00% | 100.00% | +80 |
| ✅ | ztalkbox::start_talk(const char*, ztalkbox::callback*, zNPCCommon*) |
0.00% | 100.00% | +388 |
| ✅ | ztalkbox::start_talk(unsigned int, ztalkbox::callback*, zNPCCommon*) |
0.00% | 100.00% | +124 |
| ✅ | @unnamed@zTalkBox_cpp@::stop() |
0.00% | 100.00% | +192 |
| ✅ | ztalkbox::show() |
47.33% | 100.00% | +75 |
| ✅ | ztalkbox::MasterTellSlaves(int) |
0.00% | 100.00% | +156 |
| ✅ | ztalkbox::MasterLoveSlave(xBase*, int) |
0.00% | 100.00% | +196 |
| ✅ | ztalkbox::load_settings(xIniFile&) |
95.96% | 100.00% | +4 |
| 📈 | ztalkbox::init() |
0.00% | 77.58% | +186 |
| ✅ | @unnamed@zTalkBox_cpp@::stop_state_type::stop_state_type() |
0.00% | 100.00% | +64 |
| ✅ | @unnamed@zTalkBox_cpp@::wait_state_type::wait_state_type() |
0.00% | 100.00% | +64 |
| ✅ | @unnamed@zTalkBox_cpp@::next_state_type::next_state_type() |
0.00% | 100.00% | +64 |
| ✅ | @unnamed@zTalkBox_cpp@::start_state_type::start_state_type() |
0.00% | 100.00% | +64 |
| 📈 | ztalkbox::update_all(xScene&, float) |
0.00% | 95.57% | +355 |
| ✅ | @unnamed@zTalkBox_cpp@::pad_pressed() |
0.00% | 100.00% | +56 |
| ✅ | ztalkbox::render_all() |
0.00% | 100.00% | +160 |
| ✅ | ztalkbox::reset_all() |
0.00% | 100.00% | +128 |
| 📈 | @unnamed@zTalkBox_cpp@::start_state_type::start() |
0.00% | 97.14% | +136 |
| 📈 | @unnamed@zTalkBox_cpp@::next_state_type::start() |
0.00% | 90.83% | +348 |
| ✅ | @unnamed@zTalkBox_cpp@::trigger_jot(int) |
0.00% | 100.00% | +68 |
| ✅ | @unnamed@zTalkBox_cpp@::trigger_jot(const xtextbox::jot&) |
0.00% | 100.00% | +76 |
| ✅ | @unnamed@zTalkBox_cpp@::next_state_type::update(xScene&, float) |
0.00% | 100.00% | +40 |
| ✅ | @unnamed@zTalkBox_cpp@::wait_state_type::start() |
0.00% | 100.00% | +40 |
| 📈 | @unnamed@zTalkBox_cpp@::wait_state_type::stop() |
0.00% | 93.40% | +269 |
| ✅ | @unnamed@zTalkBox_cpp@::wait_state_type::update(xScene&, float) |
0.00% | 100.00% | +556 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::iterator::operator+=(int) |
47.18% | 100.00% | +23 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::push_back() |
0.00% | 100.00% | +40 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::empty() const |
0.00% | 100.00% | +24 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::pop_front() |
0.00% | 100.00% | +40 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::front() |
0.00% | 100.00% | +48 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::begin() const |
0.00% | 100.00% | +36 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::reset() |
0.00% | 100.00% | +32 |
| ✅ | fixed_queue<@unnamed@zTalkBox_cpp@::trigger_pair, 32>::clear() |
0.00% | 100.00% | +16 |
| ✅ | sound_queue<4>::pop() |
0.00% | 100.00% | +100 |
| 📈 | sound_queue<4>::size() const |
0.00% | 73.12% | +23 |
| ✅ | sound_queue<4>::clear() |
0.00% | 100.00% | +68 |
| ✅ | sound_queue<4>::playing(int, bool) const |
0.00% | 100.00% | +212 |
| ✅ | sound_queue<4>::recent(int) const |
0.00% | 100.00% | +32 |
main/SB/Game/zNPCTypePrawn
| Section | From | To | Bytes | |
|---|---|---|---|---|
| ❔ | .text |
40.80% | 40.80% | +/-0 |
| Function | From | To | Bytes | |
|---|---|---|---|---|
| ✅ | fixed_queue<aqua_beam::ring_segment, 31>::iterator::operator+=(int) |
98.17% | 100.00% | +/-0 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
100% matched all but 13 functions in zTalkBox.cpp
Ensured DWARF local variables were used when possible
Reordered many functions to be aligned with objdiff where possible
Many of the smaller data sections were matched including StringBase and rodata as a whole
Made changes to zTalkBox.h along with some other files that zTalkBox.cpp relied on such as xEnt.h, containers.h, xFont.h, xSnd.h, and zTextBox.h